feat(llamaapi): enable structured_output support #724
+76
−17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Feature: Enables structured_output support for LLamaAPI
Summary
This PR enables structured output handling for the LlamaAPI model provider, aligning it with the same pattern used in OpenAI, Bedrock, Ollama and SageMaker implementations. Unit tests for structured output are also added.
Related Issues
Resolves #257
Changes Made
1. Uncomment code in
structured_output
method to LlamaAPI model provider and include addtional featuresFile:
src/strands/models/llamaapi.py
Purpose: Enable structured output parsing directly from LlamaAPI responses
Additional Features:
2. Add
test_structured_output
test case for LlamaAPI structured outputFile:
tests/strands/models/test_llamaapi.py
Purpose: Validate correct parsing and instantiation of structured outputs from LlamaAPI responses
3. Add
test_agent_structured_output
test cases for LlamaAPI structured outputFile:
tests_integ/strands/models/test_model_llamaapi.py
Purpose: Validate agent-level structured output functionality for both sync and async execution
All test cases have passed
Usage Example
Output
Documentation PR
Type of Change
New feature
Testing
How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli
hatch run prepare
Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.